﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using System.Collections.ObjectModel;
using ServiceAgent.StudentService;

namespace StudentModule.Models
{
    public class SinhVien : IDataErrorInfo
    {
        public int ID { get; set; }
        public string MaSinhVien { get; set; }        
        public string HoSinhVien { get; set; }        
        public string TenSinhVien { get; set; }        
        public bool GioiTinh { get; set; }        
        public string NgaySinh { get; set; }        
        public string NoiSinh { get; set; }        
        public string EmailVanLang { get; set; }        
        public string EmailCaNhan { get; set; }        
        public string HinhAnh { get; set; }        
        public DateTime NgayTao { get; set; }        
        public DateTime NgayCapnhat { get; set; }        
        public string NhanVienTao { get; set; }        
        public string NhanVienCapNhat { get; set; }        
        public string CMND_NgayCap { get; set; }        
        public string CMND_NoiCap { get; set; }        
        public string CMND_SoCMND { get; set; }        
        public string KetQuaTuyenSinh_DoiTuongSinhVien { get; set; }        
        public string KetQuaTuyenSinh_KhuVucTuyenSinh { get; set; }        
        public string KetQuaTuyenSinh_KhoiThi { get; set; }        
        public int KetQuaTuyenSinh_Mon1 { get; set; }        
        public int KetQuaTuyenSinh_Mon2 { get; set; }        
        public int KetQuaTuyenSinh_Mon3 { get; set; }        
        public string KetQuaTuyenSinh_SoBaoDanh { get; set; }        
        public string KetQuaTuyenSinh_TruongDangKy { get; set; }        
        public string LienLac_DiaChiLienLac_DiaChi { get; set; }        
        public string LienLac_DiaChiLienLac_SoDienThoai { get; set; }        
        public string LienLac_DiaChiLienLac_DienThoaiCaNhan { get; set; }        
        public string LienLac_DiaChiThuongTru_PhuongXaThiTran { get; set; }        
        public int LienLac_DiaChiThuongTru_QuanHuyenID { get; set; }        
        public int LienLac_DiaChiThuongTru_TinhThanhID { get; set; }        
        public string LienLac_DiaChiThuongTru_SoDienThoai { get; set; }        
        public string LienLac_DiaChiThuongTru_SoNha { get; set; }        
        public string LienLac_DiaChiTamTru_PhuongXaThiTran { get; set; }        
        public int LienLac_DiaChiTamTru_QuanHuyenID { get; set; }        
        public int LienLac_DiaChiTamTru_TinhThanhID { get; set; }        
        public string LienLac_DiaChiTamTru_SoDienThoai { get; set; }        
        public string LienLac_DiaChiTamTru_SoNha { get; set; }        
        public string QuanHeGiaDinh_SoLuongAnhChiEm { get; set; }        
        public int QuanHeGiaDinh_NguoiCha_DanTocID { get; set; }        
        public string QuanHeGiaDinh_NguoiCha_DienThoai { get; set; }        
        public string QuanHeGiaDinh_NguoiCha_Email { get; set; }        
        public string QuanHeGiaDinh_NguoiCha_HoKhauThuongTru { get; set; }        
        public string QuanHeGiaDinh_NguoiCha_HoTen { get; set; }        
        public string QuanHeGiaDinh_NguoiCha_NgheNghiep { get; set; }        
        public int QuanHeGiaDinh_NguoiCha_NamSinh { get; set; }        
        public string QuanHeGiaDinh_NguoiCha_NoiLamViec { get; set; }        
        public string QuanHeGiaDinh_NguoiCha_QuocTich { get; set; }        
        public int QuanHeGiaDinh_NguoiCha_TonGiaoID { get; set; }        
        public int QuanHeGiaDinh_NguoiMe_DanTocID { get; set; }        
        public string QuanHeGiaDinh_NguoiMe_DienThoai { get; set; }        
        public string QuanHeGiaDinh_NguoiMe_Email { get; set; }        
        public string QuanHeGiaDinh_NguoiMe_HoKhauThuongTru { get; set; }        
        public string QuanHeGiaDinh_NguoiMe_HoTen { get; set; }        
        public string QuanHeGiaDinh_NguoiMe_NgheNghiep { get; set; }        
        public int QuanHeGiaDinh_NguoiMe_NamSinh { get; set; }        
        public string QuanHeGiaDinh_NguoiMe_NoiLamViec { get; set; }        
        public string QuanHeGiaDinh_NguoiMe_QuocTich { get; set; }        
        public int QuanHeGiaDinh_NguoiMe_TonGiaoID { get; set; }        
        public string QuaTrinhHocPhoThong_GhiChu { get; set; }        
        public string QuaTrinhHocPhoThong_KhenThuong { get; set; }        
        public string QuaTrinhHocPhoThong_KyLuat { get; set; }        
        public int QuaTrinhHocPhoThong_Lop10_DiemToan { get; set; }        
        public int QuaTrinhHocPhoThong_Lop10_DiemLy { get; set; }        
        public int QuaTrinhHocPhoThong_Lop10_DiemHoa { get; set; }        
        public int QuaTrinhHocPhoThong_Lop10_DiemVan { get; set; }        
        public int QuaTrinhHocPhoThong_Lop10_DiemSu { get; set; }        
        public int QuaTrinhHocPhoThong_Lop10_DiemSinh { get; set; }        
        public int QuaTrinhHocPhoThong_Lop10_DiemDiaLy { get; set; }        
        public int QuaTrinhHocPhoThong_Lop10_DiemNgoaiNgu { get; set; }        
        public int QuaTrinhHocPhoThong_Lop10_DiemTrungBinh { get; set; }        
        public string QuaTrinhHocPhoThong_Lop10_XepLoaiHocLuc { get; set; }        
        public int QuaTrinhHocPhoThong_Lop11_DiemToan { get; set; }        
        public int QuaTrinhHocPhoThong_Lop11_DiemLy { get; set; }        
        public int QuaTrinhHocPhoThong_Lop11_DiemHoa { get; set; }        
        public int QuaTrinhHocPhoThong_Lop11_DiemVan { get; set; }        
        public int QuaTrinhHocPhoThong_Lop11_DiemSu { get; set; }        
        public int QuaTrinhHocPhoThong_Lop11_DiemSinh { get; set; }        
        public int QuaTrinhHocPhoThong_Lop11_DiemDiaLy { get; set; }        
        public int QuaTrinhHocPhoThong_Lop11_DiemNgoaiNgu { get; set; }        
        public int QuaTrinhHocPhoThong_Lop11_DiemTrungBinh { get; set; }        
        public string QuaTrinhHocPhoThong_Lop11_XepLoaiHocLuc { get; set; }        
        public int QuaTrinhHocPhoThong_Lop12_DiemToan { get; set; }        
        public int QuaTrinhHocPhoThong_Lop12_DiemLy { get; set; }        
        public int QuaTrinhHocPhoThong_Lop12_DiemHoa { get; set; }        
        public int QuaTrinhHocPhoThong_Lop12_DiemVan { get; set; }        
        public int QuaTrinhHocPhoThong_Lop12_DiemSu { get; set; }        
        public int QuaTrinhHocPhoThong_Lop12_DiemSinh { get; set; }        
        public int QuaTrinhHocPhoThong_Lop12_DiemDiaLy { get; set; }        
        public int QuaTrinhHocPhoThong_Lop12_DiemNgoaiNgu { get; set; }        
        public int QuaTrinhHocPhoThong_Lop12_DiemTrungBinh { get; set; }        
        public string QuaTrinhHocPhoThong_Lop12_XepLoaiHocLuc { get; set; }        
        public string QuaTrinhHocPhoThong_TotNghiepPhoThong_NamTotNghiep { get; set; }        
        public string QuaTrinhHocPhoThong_TotNghiepPhoThong_NgayCapBang { get; set; }        
        public string QuaTrinhHocPhoThong_TotNghiepPhoThong_SoHieuBang { get; set; }        
        public string QuaTrinhHocPhoThong_TotNghiepPhoThong_NoiCap { get; set; }        
        public string QuaTrinhHocPhoThong_TotNghiepPhoThong_SoVaoSo { get; set; }        
        public string QuaTrinhHocPhoThong_TotNghiepPhoThong_TotNghiepTruong { get; set; }        
        public string QuaTrinhHocPhoThong_TotNghiepPhoThong_XepLoaiTotNghiep { get; set; }        
        public string SinhHoatDang_NoiVaoDang { get; set; }        
        public string SinhHoatDang_NgayVaoDangChinhThuc { get; set; }        
        public string SinhHoatDang_NgayVaoDangDuBi { get; set; }        
        public string SinhHoatDoan_ChucVuDoanCaoNhat { get; set; }        
        public string SinhHoatDoan_ChucVuDoanVanLang { get; set; }        
        public string SinhHoatDoan_NangKhieu { get; set; }        
        public string SinhHoatDoan_NguyenVong { get; set; }        
        public string SinhHoatDoan_NgayVaoDoan { get; set; }        
        public string SinhHoatDoan_NoiVaoDoan { get; set; }        
        public bool ThongTinKhac_DuSucKhoe { get; set; }        
        public string ThongTinKhac_GhiChu { get; set; }        
        public string ThongTinKhac_GhiChuSucKhoe { get; set; }        
        public string ThongTinKhac_SoPhongKTX { get; set; }        
        public int DanTocID { get; set; }        
        public int TonGiaoID { get; set; }        
        public int LopID { get; set; }        
        public int DonViID { get; set; }        
        public int ChinhSachID { get; set; }
        
        public ObservableCollection<KyLuatDTO> DanhSachKyLuat { get; set; }        
        public ObservableCollection<KhenThuongDTO> DanhSachKhenThuong { get; set; }        
        public ObservableCollection<HoatDongDoanTheThamGiaDTO> DanhSachHoatDongDoanThe { get; set; }        
        public ObservableCollection<ThamGiaOlympicDTO> DanhSachThamGiaOlympic { get; set; }        
        public ObservableCollection<ThayDoiTrongQuaTrinhHocDTO> DanhSachThayDoi { get; set; }        
        public ObservableCollection<NghienCuuKhoaHocDTO> DanhSachNghienCuuKhoaHoc { get; set; }        
        public ObservableCollection<HocBongDTO> DanhSachHocBong { get; set; }        
        public ObservableCollection<VanBangDuocNhanDTO> DanhSachVanBang { get; set; }        
        public ObservableCollection<CauLacBoThamGiaDTO> DanhSachCauLacBo { get; set; }        
        public ObservableCollection<NhatKyDTO> DanhSachNhatKy { get; set; }        
        public ObservableCollection<HoSoDaNopDTO> DanhSachHoSoDaNop { get; set; }

        public string Error
        {
            get { return null; }
        }

        public string this[string columnName]
        {
            get { throw new NotImplementedException(); }
            //get
            //{
            //    string error = null;
            //    switch (propertyName)
            //    {
            //        case "TenNguoiDung":
            //            if (TenNguoiDung.Count()>20)
            //                error = "Tên quá dài";
            //            break;
            //        default:
            //            throw new Exception("Unexpected property: " + propertyName);
            //    }
            //    return error;
            //}
        }
    }
}
